package cn.lrwjz.androidguide.ui;

import android.os.Bundle;
import android.view.MenuItem;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.material.appbar.MaterialToolbar;

import java.util.ArrayList;
import java.util.List;

import cn.lrwjz.androidguide.R;
import cn.lrwjz.androidguide.adapter.ListAdapter;
import cn.lrwjz.androidguide.model.ListItem;

/**
 * 列表示例Activity
 * 展示Material Design列表组件的使用方法
 */
public class ListActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);

        // 设置工具栏
        MaterialToolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("List 示例");
        }

        // 初始化RecyclerView
        RecyclerView listRecyclerView = findViewById(R.id.listRecyclerView);
        // 设置布局管理器
        listRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        
        // 创建示例数据
        List<ListItem> items = new ArrayList<>();
        items.add(new ListItem(
            "单行列表",
            "最基本的列表形式，只显示一行文本",
            android.R.drawable.ic_dialog_info
        ));
        items.add(new ListItem(
            "双行列表",
            "包含主要信息和次要信息的列表形式",
            android.R.drawable.ic_dialog_email
        ));
        items.add(new ListItem(
            "三行列表",
            "可以显示更多详细信息的列表形式",
            android.R.drawable.ic_dialog_map
        ));
        items.add(new ListItem(
            "带图标列表",
            "在文本旁边显示图标的列表形式",
            android.R.drawable.ic_dialog_dialer
        ));
        items.add(new ListItem(
            "带头像列表",
            "显示用户头像的列表形式",
            android.R.drawable.ic_dialog_alert
        ));
        
        // 创建适配器
        ListAdapter adapter = new ListAdapter(items);
        // 设置适配器
        listRecyclerView.setAdapter(adapter);

        // 设置列表项点击事件
        adapter.setOnItemClickListener((item, position) -> 
            Toast.makeText(this, "点击了: " + item.getTitle(), Toast.LENGTH_SHORT).show()
        );
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        // 处理返回按钮点击事件
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
} 